Cloud computing allows applications to be executed on various computers or nodes of a computing network. Computer programmers write programs to build applications for nodes in a cloud network. Existing cloud platforms focus on machines and servers. Building an application for a cloud network requires a specific application configuration for a node, including the location and resources of the node. Application creation in this environment is not easily separated from the configuration and maintenance details. Having to program for specific application configurations adds an extra layer of complexity for the user and limits the ability to install and execute applications in a dynamic cloud environment.